package com.carleasoft.mps.adu.business.login.service;

import com.carleasoft.mps.adu.business.login.bean.BowOutVo;
import com.carleasoft.mps.adu.business.login.bean.LoginResultVo;
import com.carleasoft.mps.adu.business.login.bean.LoginUserPermVo;
import com.carleasoft.mps.adu.business.login.bean.ToLoginVo;
import com.carleasoft.mps.core.perm.AllCache;

/**
 * 登录 Service
 *
 * @author ztm
 * @since 2020/4/28
 */
public interface LoginService {
    /**
     * 登录
     *
     * @param toLoginVo
     * @return
     */
    LoginResultVo toLogin(ToLoginVo toLoginVo);

    /**
     * 获取登录用户菜单权限
     * @return
     */
    LoginUserPermVo getLoginUserMenuPerm(String userAccount, Integer loginType);


    /**
     * 重新获取权限
     *
     * @param userAccount
     * @return
     */
    AllCache buildUser(String userAccount);

    /**
     * 退出
     *
     * @param bowOutVo
     * @return void
     */
    void bowOut(BowOutVo bowOutVo);
}
